package cn.csc.module.search.controller.admin.spu.vo;

import cn.csc.framework.common.pojo.PageParam;
import cn.csc.module.search.controller.admin.sku.vo.SkuRespVO;
import io.swagger.annotations.ApiModel;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.ToString;
import org.springframework.data.elasticsearch.annotations.Field;
import org.springframework.data.elasticsearch.annotations.FieldType;

import java.math.BigDecimal;
import java.math.BigInteger;
import java.time.LocalDateTime;
import java.util.List;

@ApiModel("管理后台 - spu分页 Request VO")
@Data
@EqualsAndHashCode(callSuper = true)
@ToString(callSuper = true)
public class SpuPageRespVO extends PageParam {

    private BigInteger id;

    /**
     * 品牌ID
     */
    private BigInteger brandId;
    /**
     * 分类ID
     */
    private BigInteger categoryId;
    /**
     * 类目名称
     */
    private String categoryName;
    /**
     * 分类等级所有
     */
    private String categoryLevel;
    /**
     * 店铺分类ID
     */
    private BigInteger shopCategoryId;
    /**
     * 店铺id
     */
    private BigInteger shopId;
    /**
     * 店铺名称
     */
    private String shopName;
    /**
     * 商品名称
     */
    private String name;
    /**
     * 授权手机号
     */
    private String phone;
    /**
     * 卖点
     */
    private String sellingPoint;
    /**
     * 商品介绍主图
     */
    private String mainImgUrl;
    /**
     * 商品图片 多个图片逗号分隔
     */
    private String imgUrls;
    /**
     * 商品视频
     */
    private String video;

    /**
     * sku信息列表
     */
    private List<SkuRespVO> skus;

    /**
     * 售价，整数方式保存
     */
    private BigDecimal priceFee;

    /**
     * 市场价，整数方式保存
     */
    private BigDecimal marketPriceFee;

    /**
     * 企业购售价
     */
    private BigDecimal shopPriceFee;
    /**
     * 企业购市场价
     */
    private BigDecimal shopMarketPriceFee;
    /**
     * 基本单位
     */
    private String unit;

    /**
     * 是否企业购 0：否  1：是
     */
    private Integer hasShop;

    /**
     * 审核状态 0：本地  5:待审核  10:审核通过  15:审核不通过
     */
    private Integer verifyStatus;
    /**
     * 状态 -1:删除, 0:下架, 1:上架
     */
    private Integer status;
    /**
     * sku是否含有图片 0无 1有
     */
    private Integer hasSkuImg;
    /**
     * 序号
     */
    private Integer seq;
    /**
     * 审核时间
     */
    private LocalDateTime verifyTime;
    /**
     * 上架提交待审核时间
     */
    private LocalDateTime onlineTime;

    /**
     * 运费
     */
    private BigDecimal freightFee;

    /**
     * 运费备注
     */
    private String freightRemark;

    /**
     * 商品类型(10普通，20选品)
     */
    private Integer type;
    /**
     * 分数10普通，20选品)
     */
    private BigInteger fraction;

    private String creator;

    private LocalDateTime createTime;

    @Field(type = FieldType.Keyword)
    private String updater;

    private LocalDateTime updateTime;


    private BigInteger tenantId;

}
